
        <html>
			<head>
			     <title>色情病毒魅影杀手的恶意行为及黑产利益链分析 - 阿里移动安全</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/papers/11065">http://drops.wooyun.org/papers/11065</a></h1>
				
      <p>
        <h1>0x00 概述</h1>

<hr />

<p>近期，阿里移动安全团队发现大批量色情类病毒重新开始在某些论坛或者应用市场上泛滥。和以往的色情类病毒不同的是，它们使用了更多高级的技术手段来对抗安全软件的查杀。这类病毒具有以下特点：</p>

<ol>
<li>使用了代码加固技术，把恶意代码加密，运行后再从内存中解密出来；</li>
<li>安装后伪装成系统组件，同时将自身安装隐藏在系统目录下，防止卸载的同时也躲避了部分安全软件的查杀；</li>
<li>通过云端服务器配置不断创建虚假快捷方式、弹对话框、伪造通知栏等方式，强制推送安装其它恶意软件。</li>
</ol>

<p>由于这类病毒通常使用美女图片作为应用市场上展示的图标，同时使用一些具有诱惑性的词语作为应用名称，没有经验的用户极易上当受骗，因此我们将其命名为“魅影杀手”。</p>

<!--more-->

<p><img src="http://static.wooyun.org//drops/20151205/20151205164718430501.jpg" alt="p1" /></p>

<p>图：“魅影杀手”使用的图标和名称</p>

<p>截至10月底，国内有85.3万台设备感染了“魅影杀手”病毒。其中，感染最为严重的省份是广东、浙江和江苏。广东省平均45台设备中就有1台安装了该病毒。</p>

<p><img src="http://static.wooyun.org//drops/20151205/20151205164720618412.jpg" alt="p2" /></p>

<p>图：“魅影杀手”病毒感染用户量趋势</p>

<p><img src="http://static.wooyun.org//drops/20151205/20151205164722308873.jpg" alt="p3" /></p>

<p>图：“魅影杀手”的感染用户的区域分布</p>

<h1>0x01 技术分析</h1>

<hr />

<p>为了进一步了解“魅影杀手”的演变过程，我们分析了该病毒家族在不同时期的样本。以下从与安全软件的对抗、恶意行为两个角度对该“魅影杀手”病毒的特点做了总结：</p>

<p><strong>1.与安全软件对抗</strong></p>

<p>a.代码加固</p>

<p>Android加固技术的引入，确实在一定程度上解决了代码安全性的问题，但同时也给各种病毒木马提供了极佳的隐藏手段。我们发现大量的“魅影杀手”样本使用了加固技术隐藏自身，试图躲避杀毒软件查杀。从早期的DEX可执行代码整体加密存放到assets目录，演变到java层代码深度混淆解壳代码，再到目前在native层动态加载加密的恶意代码，说明病毒开发者也在费尽心思增加安全公司的逆向分析成本。</p>

<p><img src="http://static.wooyun.org//drops/20151205/20151205164724187824.jpg" alt="p4" /></p>

<p>图：恶意代码加固技术演变</p>

<p><img src="http://static.wooyun.org//drops/20151205/20151205164725927955.jpg" alt="p5" /></p>

<p>图：Native层通过DexClassLoader加载加密的恶意代码</p>

<p>同时该种加固存在大量变种，每隔一段时间将会修改so名和对应加密的jar名，native层里的initkey也会改变。</p>

<p>b.防止卸载</p>

<p>为了长期驻留在用户的手机内，这类病毒样本还会通过伪装成系统组件、激活设备管理权限以及把自身拷贝到系统目录等方式，使得用户或者安全软件无法通过正常方式卸载。</p>

<p><img src="http://static.wooyun.org//drops/20151205/20151205164727587296.jpg" alt="p6" /></p>

<p>图：激活设备管理权限</p>

<p><strong>2.恶意行为</strong></p>

<p>a.订购收费服务</p>

<p>“魅影杀手”病毒通常利用“私密快播”、“情涩视频”、“爱美热播”等带一些诱惑性的名称吸引用户点击，而在于其内置的付费模块，会在后台暗中扣取用户的话费，或者直接消耗流量，产生流量费。下图对一般的危害性做了统计。从图里看出，对用户危害最大的，是恶意扣费！！！</p>

<p><img src="http://static.wooyun.org//drops/20151205/20151205164728755067.jpg" alt="p7" /></p>

<p>图：色情应用危害</p>

<p>色情类应用大多包涵多个支付模块，各个模块之间相互联系，经过分析发现，某些第三方提供的支付SDK存在短信拦截的行为，也就是说，当用户点击了付费之后，并不会收到扣费的确认短信（二次确认）。原因是因为该短信已经被拦截，下图是某个支付模块中的代码</p>

<p><img src="http://static.wooyun.org//drops/20151205/20151205164730679948.jpg" alt="p8" /></p>

<p>图：拦截短信</p>

<p>部分色情应用甚至私自发送扣费短信</p>

<p><img src="http://static.wooyun.org//drops/20151205/20151205164732442839.jpg" alt="p9" /></p>

<p>图：启动后静默发送扣费短信</p>

<p>b.隐私窃取</p>

<p>分析过程中发现，部分恶意开发者将恶意代码包装入色情应用。恶意行为包括监控短信彩信的接收、读取短信箱内容，上传用户手机短信和联系人列表到黑客指定的邮件中。当黑客拿到这些信息之后，就可以进行信息贩卖，诈骗等。下图是分析人员拿到的某黑客的邮箱。</p>

<p><img src="http://static.wooyun.org//drops/20151205/201512051647332244510.jpg" alt="p10" /></p>

<p>图：搜集用户信息</p>

<p><img src="http://static.wooyun.org//drops/20151205/201512051647356220911.jpg" alt="p11" /></p>

<p>图：读取用户短信箱的信息</p>

<p>c.强制推送并安装其它恶意软件</p>

<p>对一名叫”私密快播”分析。首先监控系统启动,随后启动RequestTask任务，以“发现您系统中缺少高清播放组件：1、突破防火墙限制，多种限制级大片供欣赏；2、快播专用通道已开通；3、更多精彩内容午夜开放，尽请期待！”诱骗用户下载安装，安装之后在后台不断疯狂下载恶意推送应用，并创建虚拟桌面诱导用户安装，消耗手机流量，非法推送恶意广告等等。</p>

<p><img src="http://static.wooyun.org//drops/20151205/201512051647368537112.jpg" alt="p12" /></p>

<p>图：下载服务器地址</p>

<p>对上图中下载链接访问:</p>

<p><img src="http://static.wooyun.org//drops/20151205/201512051647386319713.jpg" alt="13" /></p>

<p>“durl”字段值是下载者链接，”title”,”desc”字段unicode编码,解密之后，对应下图弹出的对话框文章。</p>

<p><img src="http://static.wooyun.org//drops/20151205/201512051647392284214.jpg" alt="p14" /></p>

<p>图：诱导安装</p>

<p>对下载者应用，对上勾手机强行推送，整个过程包括查看用户下载了哪些应用，有哪些安装运行，哪些没有安装运行，并不断创建虚假快捷方式、弹对话框、伪造通知栏等方式引诱用户点击安装，最终导致手机中安装了大量恶意软件。服务端就是通过这种方式，知道用户安装运行了哪些应用，对成功推送的获取利用。</p>

<p><img src="http://static.wooyun.org//drops/20151205/201512051647404117515.jpg" alt="p15" /></p>

<p>图：强制提醒安装下载的应用</p>

<p><img src="http://static.wooyun.org//drops/20151205/201512051647425101416.jpg" alt="p16" /></p>

<h1>0x02 黑产利益链条分析</h1>

<hr />

<p>由于该类色情类APP开发和制作流程简单，推广成本低，并且市场空间巨大，能够在短时间内产生经济效益，因此吸引了大批不法分子参与其中进行利益分成，并且逐渐形成了一条完善的黑色产业链。色情APP的开发者通过极低的推广费用，把样本上传到某些网络推广平台，例如小众的android市场、应用推广平台、色情网站、部分游戏或者游戏外挂网站等。由于这类色情APP本身的诱骗特性，容易激发用户的好奇心下载安装。一旦成功安装到用户手机上，它们会在后台偷偷订购一些移动运营商的收费服务，同时向用户手机推送更多恶意推广软件，这样黑产一方面参与电信收费项目的提成，另一方面还获得了更多的广告流量分成。</p>

<p>以下是“魅影杀手”病毒的黑产利益链条：</p>

<p><img src="http://static.wooyun.org//drops/20151205/201512051647432051617.jpg" alt="p17" /></p>

<p>图：“魅影杀手”病毒的黑产利益链条</p>

<p>由于目前国内不少的应用市场逐渐加强了代码安全审核，为了避免检测出恶意代码后应用被下架，有专业的黑产加固团队对恶意代码进行加密隐藏后再发布到应用市场。通过对样本渠道进行分析，我们发现，为了避免身份泄露，有些病毒开发者甚至将木马存储到自己的服务器上，并申请了一系列域名用于提供下载服务。</p>

<p>总结：“魅影杀手”病毒的黑产利益链条：恶意APK->借助推广渠道->色情网站或色情APP->引诱下载->广告联盟->恶意扣费。</p>

<h1>0x03 防范以及建议</h1>

<hr />

<p>阿里移动安全提醒大家，为了避免中毒，我们建议大家尽量从官方网站或者可信任的Android应用市场下载手机应用，尽量不要安装来历不明的应用，尤其是带有诱惑性字眼的应用更需谨慎。如果不确定手机是否中毒，可以安装阿里钱盾等手机安全软件，对手机上的应用进行检测，防止高风险恶意应用的安装。</p>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          